package com.yishan;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.Locale;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

/**
 * @Author yishan
 * @Date 2021/10/26 0026 13:09
 * @Version 1.0
 */
public class PoiTest {

	public static void main(String[] args) throws IOException {

		Date date = new Date();
		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
		String s = dateFormat.format(date);
		System.out.println(s);


		//测试poi创建excel
		//testWriteByPoi();

		//测试poi读取excel
		//testReadByPoi();

	//	测试分支11111
	//	这是release分支提交的代码
	//	这是release分支提交的代码
	//	这是release分支提交的代码
	//	这是master分支提交的代码
	//	这是master分支提交的代码
	//	这是master分支提交的代码
	//	这是master分支提交的代码
	//	这是master分支提交的代码

	}

	/**
	 * 创建Excel
	 *
	 * @throws IOException
	 */
	public static void testWriteByPoi() throws IOException {
		//1.获取到对应的Excel文件，工作簿文件
		Workbook wb = new XSSFWorkbook();
		//2.创建工作表
		Sheet sheet_1 = wb.createSheet("sheet-1");
		Sheet sheet_2 = wb.createSheet("sheet-2");

		//sheet-1
		//3.创建工作表中的行对象(通过表对象去创建行对象)
		Row row_1 = sheet_1.createRow(1);
		//4.创建工作表中行中的列对象(通过行对象去创建列对象)
		Cell cell_1 = row_1.createCell(1);
		//5.在列中写数据
		cell_1.setCellValue("测试一下单元格");

		//sheet-2
		Row row_2 = sheet_2.createRow(1);
		Cell cell_2 = row_2.createCell(1);
		cell_2.setCellValue("我是测试数据");
		//创建一个文件对象，作为excel文件内容的输出文件
		File f = new File("test.xlsx");
		//输出时通过流的形式对外输出，包装对应的目标文件
		OutputStream os = new FileOutputStream(f);
		//将内存中的workbook数据写入到流中
		wb.write(os);
		wb.close();
		os.close();
	}

	/**
	 * 读取Excel
	 *
	 * @throws IOException
	 */
	public static void testReadByPoi() throws IOException {
		//1.获取要读取的文件工作簿对象
		Workbook wb = new XSSFWorkbook("test.xlsx");
		//2.获取工作表
		Sheet s = wb.getSheetAt(0);
		//3.获取行
		Row row = s.getRow(1);
		//4.获取列
		Cell cell = row.getCell(1);
		//5.根据数据的类型获取数据
		//String data = cell.getStringCellValue();
		//double data = cell.getNumericCellValue();
		//boolean data = cell.getBooleanCellValue();
		String data = cell.getStringCellValue();
		System.out.println("data = " + data);

		wb.close();
	}
}
